#define _SVID_SOURCE 1        /* Requerido por algunos gcc */
#include <stdio.h>
#include <limits.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <unistd.h>
#include <time.h>
#include <fcntl.h>
#include <signal.h>
#include <sys/shm.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>

#define DIRECTORIO "/tmp"
#define TRUE 1
#define FALSE 0
/* Claves para las Colas, los Semaforos y las Shared Memory */
#define SHM_PARRILLA 0
#define SHM_TABLA 1
#define SEM_PARRILLA 2
#define SEM_TABLA 3
#define COLA_CL_ENC 4
#define COLA_ENC_AYU 5
#define SEM_NOVACIOC 6
#define SEM_NOLLENOC 7
#define SEM_NOVACIOP 8
#define SEM_NOLLENOP 9
#define MAX_CANT_CHORIZO 6
#define MAX_CANT_PAN 4
/* ID's de mensajes */
#define MSG_PEDIDO 1
#define MSG_PP 2

typedef struct
{
	int cant_chorizos;
} t_parrilla;

typedef struct
{
	int cant_pan;
} t_tabla;

typedef struct
{
	int mitad_chorizo;
	int mitad_pan;
	int nro_cliente;
} t_pedido;

typedef struct
{
	long mtype;
	t_pedido pedido;
} m_pedido;

typedef struct
{
	t_pedido pedido;
	int precio;
} t_pedido_precio;

typedef struct
{
	long mtype;
	t_pedido_precio pp;
} m_pedido_precio;
